package java_base;

//      冒泡排序
//        1，比较数组中，两个相邻元素，如果第一个比第二个大，交换他们的位置
//        2. 每一次比较，都会产出一个最大，或最小的数字
//        3.下一轮可以减少一次排序
//        4. 依次循环，直到结束

import java.util.Arrays;

public class Demo05_Bubble_Sort {
    public static void main(String[] args) {
        int [] a = {1,3,54,6,7,94,890};
        int [] b = sort(a);
        System.out.println(Arrays.toString(b));
    }


    public static int[] sort(int [] array){
//        外层循环，判断我们要走多少次循环
        int temp = 0;
        for (int i = 0; i < array.length-1; i++) {
            boolean flag = false; //通过flag,减少没有意义的比较
            for (int j =0; j< array.length-1-i;j++){
                if (array[j+1] < array[j]){
                    temp = array[j+1];
                    array[j+1] = array[j];
                    array[j] = temp;
                    flag = true;
                }
            }

            if (flag = false){
                break;
            }
            
        }
        return array;
    }
}
